<template>
  <div>
    <!-- 面包屑导航 -->
    <el-breadcrumb separator-class="el-icon-arrow-right">
      <el-breadcrumb-item :to="{ path: '/home' }">首页</el-breadcrumb-item>
      <el-breadcrumb-item>数据统计</el-breadcrumb-item>
      <el-breadcrumb-item>数据报表</el-breadcrumb-item>
    </el-breadcrumb>
    <el-card>
      <!-- 2.为 echarts准备一个定宽高的DOM -->
      <div id="main"></div>
    </el-card>
  </div>
</template>

<script>
// 1.导入 echarts (绘制表格的工具，依赖中安装)
import * as echarts from 'echarts'
// 引入 lodash实现两个对象的合并
import _ from 'lodash'
export default {
    name:'Report',
    data(){
        return{
            // 将获取到的数据与 echarts提供的合并，实现鼠标跟随效果
            options : {
                title: {
                    text: '用户来源'
                },
                tooltip: {},
                legend: {
                data: ['销量']
                },
                xAxis: {
                data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子']
                },
                yAxis: {},
                series: [
                {
                    name: '销量',
                    type: 'bar',
                    data: [5, 20, 36, 10, 10, 20]
                }
                ]
            }
        }
    },
    created(){
        
    },
    async mounted(){
        // 3.初始化 echarts实例
        var myChart = echarts.init(document.getElementById('main'));
        // 获取数据统计
        const {data:res} = await this.$http.get('reports/type/1')
        if(res.meta.status!==200) return this.$message.error('获取折线图数据失败')

        // 利用lodash将两个对象数据合并
        // const newOption = _.merge(res.data,this.options)
        // es6新语法合并
        const newOption = {...this.options,...res.data}        
        // 5.使用数据项和配置显示图表
        myChart.setOption(newOption)
    },
}
</script>

<style scoped>
.el-card {
  margin-top: 20px;
}
#main{
    width: 750px;
    height: 450px;
}
</style>